This disclosure relates to data processing.
It is known to provide a data processing apparatus with one or more instances of processing circuitry and one or more memories of a variety of different forms for storing data values to be manipulated and program instructions for specifying data processing operations to be performed. The forms of memory may include, for example, main memories, cache memories, translation lookaside buffers for storing data specifying virtual-to-physical memory address translations and/or memory permission data, and memories storing data for other uses within the data processing system, such as branch history data used for branch prediction.
It is also known to provide memory built-in self-test circuitry within data processing systems for performing memory test operations upon memories within data processing systems. Such memory built-in self-test circuitry may be used to perform initial testing upon initial manufacture of a data processing system and/or ongoing testing in the field during the life of the data processing system. Identifying a fault in the operation of a memory can be used to trigger an appropriate response, such as taking the relevant portion of the memory out of use such that it is not able to corrupt or slow the operation of the system as a whole. Many other different forms of response to a detected error are also possible.
It is also known to disable a memory or a part of the memory, in such a way that a processor accessing the memory can continue to operate without it, or without the use of all of it.
It is also known to provide in-built diagnostic circuitry to execute a diagnostic procedure to generate diagnostic data in response to processing by the processing circuitry. The diagnostic data is stored in a further memory dedicated for use by the diagnostic circuitry.